package com.xframe.xdal.core.param;

import com.xframe.xdal.core.util.XDateUtil;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.PreparedStatement;
import java.sql.SQLException;
/**
 * 对枚举类型参数化
 *
 * @author xufeng
 * @version 1.0
 * @date 2022-09-19
 */
public class EnumParamSet implements IParamSet{
    /**
     * 设置pst对象的值 调用setDate
     * @param pst SQL 参数对象
     * @param index 索引下标
     * @param param 参数值 必须是日期值
     */
    @Override
    public void valueSet(PreparedStatement pst, Integer index, Object param) throws SQLException {
//        Method method = null;
//        try {
//            method = param.getClass().getMethod("toVal");
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        if(method == null) {
//            pst.setString(index + 1, param.toString());
//        }else {
//            try {
//                method.invoke(param);
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//            pst.setObject(index + 1, param.toString());
//        }
        pst.setObject(index + 1, param.toString());
    }
}
